package cn.wolfcode.luowowo.repository;

import cn.wolfcode.luowowo.domain.Destination;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DestinationRepository extends MongoRepository<Destination, String> {

    /**
     * 通过deep查询目的地
     * @param deep
     * @return
     */
    List<Destination> findByDeep(int deep);

    /**
     * 查询id在refIds中的目的地数据
     * @param refIds
     * @return
     */
    List<Destination> findByIdIn(List<String> refIds);

    /**
     * 通过父级名字查询目的地
     * @param parentNmae
     * @return
     */
    List<Destination> findByParentName(String parentNmae);

    /**
     * 通过当前目的地的id查询它所有的子目的地集合
     * @param name
     * @param of
     * @return
     */
    List<Destination> findByParentId(String name, PageRequest of);

    /**
     * 查询目的地
     * @param keyword
     * @return
     */
    Destination findByName(String keyword);
}
